<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>11-数组扁平化</title>
</head>
<body>
    <script>
        //  1. 数组的扁平化：将多维数组转化为一维数组
        let arr = [1,[2,[3,[4,5]]],6];
        // let arr1 = [1,2,3,4,5,6];
        /* 
            2. flat()
                方法会按照一个可指定的深度递归遍历数组
                并将所有元素与遍历到的子数组中的元素合并为一个新数组返回
            3. 语法：
                var newArray = arr.flat([depth])
                depth 可选，指定要提取嵌套数组的深度，默认值为1.
            4. 返回值
               一个包含将数组与子数组中所有元素的新数组。(原数组不不变) 
        */
       let arr2 = arr.flat();
       console.log(arr);  // 原数组不变    [1, Array(2), 6]
       console.log(arr2);  // 默认是1   [1, 2, Array(2), 6]

       console.log('-----设置不同的深度------');
       console.log(arr.flat(0)); //  [1, Array(2), 6]

       console.log(arr.flat(2));  // [1, 2, 3, Array(2), 6]
       console.log(arr.flat(3));  // [1, 2, 3, 4, 5, 6]
    </script>
</body>
</html>